// import com.alibaba.druid.sql.ast.SQLObject_ptr ;
// import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
// import com.alibaba.druid.sql.ast.statement.SQLAlterTableItem;
// import com.alibaba.druid.sql.dialect.mysql.ast.MySqlObjectImpl;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor*;

#include "MySqlAlterTableOption.h"
#include "../../../../../sql/ast/SQLObject.h"
#include "../../../../../sql/dialect/mysql/visitor/MySqlASTVisitor.h"
#include "../../../../ast/expr/SQLIdentifierExpr.h"

MySqlAlterTableOption::MySqlAlterTableOption(string_ptr  name, string_ptr  value)
    : MySqlAlterTableOption(name, SQLIdentifierExpr_ptr(new SQLIdentifierExpr((value))))
{
}

MySqlAlterTableOption::MySqlAlterTableOption(string_ptr  name, SQLObject_ptr value)
{
  this->name = name;
  this->setValue(value);
}

MySqlAlterTableOption::MySqlAlterTableOption()
{
}

// @Override
void MySqlAlterTableOption::accept0(MySqlASTVisitor_ptr visitor)
{
  visitor->visit(SharedObject(MySqlAlterTableOption));
  visitor->endVisit(SharedObject(MySqlAlterTableOption));
}

string_ptr  MySqlAlterTableOption::getName()
{
  return name;
}

void MySqlAlterTableOption::setName(string_ptr  name)
{
  this->name = name;
}

SQLObject_ptr MySqlAlterTableOption::getValue()
{
  return value;
}

void MySqlAlterTableOption::setValue(SQLObject_ptr value)
{
  this->value = value;
}
